﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
class Date
{
public:
    Date(int year = 1, int month = 1, int day = 1)
    {
        _year = year;
        _month = month;
        _day = day;
    }
    void Print()
    {
        cout << _year << "-" << _month << "-" << _day << endl;
    }
    bool operator==(const Date& d)
    {
        return _year == d._year
            && _month == d._month
            && _day == d._day;
    }
    Date& operator++()
    {
        cout << "前置++" << endl;
            //...
            return *this;
    }
    Date operator++(int)
    {
        Date tmp;
        cout << "后置++" << endl;
            //...
            return tmp;
    }
private:
    int _year;
    int _month;
    int _day;
};

int main()
{
    Date d1(2024, 7, 5);
    Date d2(2024, 7, 6);
    // 运算符重载函数可以显⽰调⽤

        d1.operator==(d2);
    //编译器会转换成
        d1.operator==(d2);
    d1 == d2;
    //编译器会转换成
        d1.operator++();
    ++d1;
    // 编译器会转换成
        d1.operator++(0);
    d1++;
    return 0;
}